The Internet is a collection of disparate computer systems which use a common protocol to communicate with each other. A common use of the Internet is to access web pages via the World Wide Web. Web pages are typically stored on a server and remotely accessed by a client over the Internet using a web browser.
A web site is a collection of web pages. A web site typically includes a home page and a hierarchical order of follow-on web pages that are accessible through the home page. The web pages are connected to each other using hypertext links. The hypertext links allow a user to browse web pages of a web site by selecting the links between the web pages. Distinct web sites may be identified by their respective and distinctly associated Internet domain names.
To increase user visitations and revenue, web sites have become increasingly robust and sophisticated. Web sites typically include web pages that provide information to users, advertise products or services to users, and/or provide site search functions for users. However, a problem for web site owners is how to determine how successful their web site is, for example, whether the informational or other needs of users are met and if the users are purchasing goods and services advertised on their site.
Programs for analyzing traffic on a network server, such as a web server, are discussed in the related art. In these prior art systems, the program typically runs on the web server that is being monitored. Data is compiled, and reports are generated on demand or are delivered from time to time via email to display information about web server activity such as, but not limited to, the most popular page by number of visits, peak hours of website activity, most popular entry page, and so on. Alternatively data is logged on the web server that is being monitored and the logs are transferred to another computer, where they are compiled and analyzed.
Another technique for collecting web site analytics is by means of a client side script embedded in web pages to monitor traffic. Such a script can collect information and submit the information to a central server where the information is analyzed and stored. The script runs on a client device that typically collects URLs that a user visits, mouse movement, scrolling of web pages, resizing of browser windows, click events, keyboard use (“per-action” data), the sequence of the visited URLs, and so on. The collected information is typically assembled and sent “per-page” together with the identification of the client (e.g., an IP address) to the central server.
Prior art solutions limit the information collected on the client side to “per-page” data such as: URL, referrer, load time, IP, browser type, screen resolution, and so on. The “per-page” data resembles data that was previously collected on the server side in the form of web logs. A web server only knows about page requests. As a result, web logs only contain “per-page” data. Conversely, client side data collection is not limited to “per-page” data, but simply evolved as such since initially it was developed as a replacement for traditional server logs. For example, data accessible to client side scripts includes, but is not limited to, mouse movement, scrolling of a web page, resizing of a browser window, click events, keyboard use, and so on (“per-action” data).
Although prior art solutions for monitoring browsing activity collect many details with regard to the activity, such solutions fail to provide an easy and intuitive mechanism for analyzing the gathered information. For example, the monitoring solutions may provide the gathered information by way of textual reports, graphs generated respective of such reports, or by way of visual maps. However, as the analysis of the browsing activity can be performed at different levels, it requires a user to review many reports and to compare between different metrics. As a result, the user cannot easily compare between two or more data sets related to the browsing behavior of a specific web-page. For example, comparing the number of mouse clicks recorded on the same web page during two different dates would require a user to review a first “mouse click” report (graph) for a first date and a second report for the second date, and to compare between such reports or graphs.
Typically to view multiple reports or graphs, the user has to open multiple windows on his/her desktop to present each report. Furthermore, each report is generated independently. As a result, the user is required to re-select the data set and the parameters to generate and display each report.
Therefore, it would be advantageous to provide an efficient tool for analyzing users' browsing activity.